/*
 * Zadanie 4 1
 *
 * Rozszerz klasę z zdania 40 o dodatkową składową prywatną nazwa (char *nazwa),
 * której przechowywany będzie opis obiektu klasy PUNKT.
 *
 * Zamiast trzech konstruktorów z zadania 41, zdefiniuj jeden konstruktor, który zastąpi powyższe trzy i oczywiście uwzględni dodatkową składową nazwa. (pomoc: argumenty domyślne)
 *
 * Zmodyfikuj funkcję show.
 *
 * Dopisz konstruktor kopiujący – dlaczego teraz jest on niezbędny?
 *
 * Dopisz destruktor – dlaczego teraz jest on niezbędny?
 *
 * We wszystkich konstruktorach i destruktorze oprócz niezbędnych instrukcji wstaw instrukcję wyświetlającą informację o tym, że nastąpiło wywołanie konkretnego konstruktora i/lub destruktora.
 *
 * Przetestuj utworzoną w ten sposób klasę. Utwórz kilka obiektów tej klasy – wykorzystaj do tego wszystkie konstruktory. Przeanalizuj jaka jest kolejność wywoływania konstruktorów i destruktorów w poniższym przykładzie:
 *
 * Co by było, gdyby funkcja main była pusta?
 *
 * PUNKT P1(”P1”);
 *
 * int main() {
 *  PUNKT P2 = P1;
 *  {
 *      PUNKT P3(”P3”, 100);
 *      P1.show();
 *      P2.show();
 *      P3.show();
 *  }
 *
 * //#1
 *
 * PUNKT P4(”P4”, 200, 200);
 *
 * P4.show();
 * return 0;
 * }
 *
 * Version: $Id: main.cpp 57 2011-11-14 22:26:22Z s8376@pjwstk.edu.pl $
 */
#include <iostream>
#include "punkt.h"

using namespace std;

Punkt P1((char*) "P1");

int main()
{
    Punkt P2 = P1;

    {
        Punkt P3((char*) "P3", 100);
        P1.show();
        P2.show();
        P3.show();
    }

    //#1
    Punkt P4((char*) "P4", 200, 200);
    P4.show();

    return 0;
}
